package cn.jonay.pdmreader.core.render;

import cn.jonay.pdmreader.core.meta.Pdm;
import cn.jonay.pdmreader.ui.model.FileType;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

import java.io.*;

/**
 * 说明
 *
 * @author zhaozhiguo
 * @version 1.0
 * @date 2021/2/9 14:32
 */
public class PdmRender {

    private Configuration _config;

    public PdmRender() {
        // 初始化Freemarker配置
        _config = new Configuration(Configuration.VERSION_2_3_0);
        // 设置Freemarker模板文件的位置
        _config.setClassForTemplateLoading(PdmRender.class, "/template");
    }

    public void render(FileType fileType, Pdm pdm, File file) {
        try (FileWriter fw = new FileWriter(file); BufferedWriter bw = new BufferedWriter(fw);) {
            Template t = _config.getTemplate(fileType.name() + ".ftl");
            t.process(pdm, bw);
        } catch (TemplateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
